//这个函数的目的就是为了根据后台返回的数据,动态的计算出 用户需要的路由
//"设计"
/**
 * 
 * @param {Array} menulist 后台返回的用户菜单名字数组
 * @param {Array} allroutes 我们定义的所有的路由配置
 * @returns {Array} 根据后台菜单名计算算出来的用户routes配置
 */
const recursionRoutes = (menuList = [], allRoutes = []) => {
    let userRoutes = [];
    menuList.forEach(item => {
        allRoutes.forEach(routes => {
            if (item.name === routes.meta.name) {//如果后台返回的数据中 其中某项的name和routes的meta的name相同,说明具备当前routes,把routes配置添加到userRoutes这个数组中
                // console.log(123)
                if (item.children && item.children.length > 0) {//递归子路由
                    routes.children = recursionRoutes(item.children, routes.children)
                }

                userRoutes.push(routes)
            }
        })
    })

    return userRoutes
}
export default recursionRoutes